%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%				PLDP 2011.1				  	%
%					ANEM					%
%				Documentação				%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%		Esquema e lista de sinais			%	
%			Bruno Morais					%
%			brunosmmm@gmail.com				%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%26/04/2011: Revisão inicial                %
%27/04/2011:                 				%
%%Alterações no diagrama do anem			%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}
\usepackage[landscape]{geometry}
\usepackage[dvipsnames]{xcolor}
\usepackage{graphicx}
\usepackage{colortbl}
\geometry{verbose,tmargin=2cm,bmargin=2cm,lmargin=0.1cm,rmargin=0.1cm,columnsep=0.8cm}

\begin{document}

\begin{center}

\begin{Large}
Esquema do ANEM
\end{Large}

\includegraphics[scale=0.55]{anem_mono_schem.pdf} 

\pagebreak

\begin{Large}
Tabela de sinais internos do ANEM
\end{Large}

\vskip1cm

\begin{tabular}{|c|c|c|c|c|c|}
\hline Sinal & Descrição & Largura & Origem & Destino & Classe \\ 
\hline
\hline REG\_A & Seleciona o registrador A no banco de registradores & 4 & \textcolor{NavyBlue}{INST[11:8]} & \textcolor{red}{BANCOREG} & Endereçamento \\ 
\hline REG\_B & Seleciona o registrador B no banco de registradores & 4 & \textcolor{NavyBlue}{INST[7:4]} & \textcolor{red}{BANCOREG} & Endereçamento \\
\hline PC\_OUT & Seleciona o endereço da memória de instrução & 16 & \textcolor{Red}{PC} & \textcolor{PineGreen}{INST\_END} & Endereçamento \\
\hline
\hline TEST & Controle do modo de teste & 1 & \textcolor{NavyBlue}{TEST} & \textcolor{red}{BANCOREG}, \textcolor{red}{PC} & Controle \\
\hline REG\_CNT & Controle de operação do banco de registradores & 3 & \textcolor{red}{CONTROLE} & \textcolor{red}{BANCOREG}  & Controle \\
\hline CK & Clock & 1 & \textcolor{NavyBlue}{CK} & \textcolor{red}{PC}, \textcolor{red}{BANCOREG}, \textcolor{red}{CONTROLE} & Controle \\
\hline RST & Reset assíncrono & 1 & \textcolor{NavyBlue}{RST} & \textcolor{red}{PC}, \textcolor{red}{BANCOREG}, \textcolor{red}{CONTROLE} & Controle \\
\hline PC\_CONT & Controle de operação do PC & 2 & \textcolor{red}{CONTROLE} & \textcolor{red}{PC} & Controle \\
\hline ULA\_CONT & Controle de operação da ULA & 3 & \textcolor{red}{CONTROLE} & \textcolor{red}{ULA} & Controle \\
\hline Z & Flag de zero da ULA & 1 & \textcolor{red}{ULA} & \textcolor{red}{PC} & Controle \\
\hline MEM\_W & Flag de escrita na memória de dados & 1 & \textcolor{Red}{CONTROLE} & \textcolor{PineGreen}{MEM\_W} & Controle \\
\hline MEM\_EN & Habilita memória de dados & 1 & \textcolor{Red}{CONTROLE} & \textcolor{PineGreen}{MEM\_EN} & Controle \\
\hline
\hline OPCODE & Opcode da instrução & 4 & \textcolor{NavyBlue}{INST[15:12]} & \textcolor{red}{CONTROLE} & Instrução \\
\hline OFFSET & Offset para instruções suportadas & 4 & \textcolor{NavyBlue}{INST[3:0]} & \textcolor{red}{ULA}, \textcolor{red}{PC} & Instrução \\
\hline FUNC & Especifica qual a função entre as tipo R ou S & 4 & \textcolor{NavyBlue}{INST[3:0]} & \textcolor{red}{ULA}, \textcolor{red}{PC} & Instrução \\
\hline SHAMT & Shift Amount - tamanho do deslocamento para instruções suportadas & 4 & \textcolor{NavyBlue}{INST[7:4]} & \textcolor{red}{ULA} & Instrução \\
\hline ENDE & Endereço para salto para instruções suportadas & 12 & \textcolor{NavyBlue}{INST[11:0]} & \textcolor{Red}{PC} & Instrução \\
\hline
\hline DATA\_IN & Entrada da memória de dados & 16 & \textcolor{NavyBlue}{FROM\_MEM} & \textcolor{red}{BANCOREG} & Dados \\ 
\hline ULA\_OUT & Saída da ULA & 16 & \textcolor{red}{ULA} & \textcolor{red}{BANCOREG}, \textcolor{PineGreen}{MEM\_END} & Dados \\ 
\hline BYTE & Entrada de dados para o banco de registradores & 8 & \textcolor{NavyBlue}{INST[7:0]} & \textcolor{red}{BANCOREG} & Dados \\
\hline A\_OUT & Saída de dados do registrador A do banco de registradores & 16 & \textcolor{red}{BANCOREG} & \textcolor{red}{ULA}, \textcolor{red}{PC}, \textcolor{PineGreen}{TO\_MEM} & Dados \\
\hline B\_OUT & Saída de dados do registrador B do banco de registradores & 16 & \textcolor{red}{BANCOREG} & \textcolor{red}{ULA} & Dados \\
\hline
\hline S\_IN\_REG & Entrada de dados serial & 1 & \textcolor{NavyBlue}{S\_IN} & \textcolor{red}{BANCOREG} & Teste \\ 
\hline S\_OUT\_REG & Dados seriais de teste & 1 & \textcolor{red}{BANCOREG} & \textcolor{red}{PC} & Teste \\
\hline S\_OUT\_PC & Saída de dados serial & 1 & \textcolor{red}{PC} & \textcolor{PineGreen}{S\_OUT} & Teste \\ 
\hline 
\end{tabular} 

\vskip1cm

\begin{Large}
Legenda
\end{Large}

\begin{tabular}{|c|c|}
\hline Cor & Descrição \\
\hline \cellcolor{Red} & Entidades \\
\hline \cellcolor{NavyBlue} & Entradas \\
\hline \cellcolor{PineGreen} & Saídas \\
\hline
\end{tabular}

\end{center}

\end{document}
